Hosting provider hosting routes from a media repository

ABSTRACT

A hosting provider may be bi-directionally authenticated with one or more media repositories. The hosting provider preferably has domain name registration and hosting capabilities. The media repositories may collect data (such as pictures and/or files) from one or more users. Once authenticated, the hosting provider and media repositories may cooperate in storing, aggregating and transmitting data to a user. Routes may be hosted by the hosting provider and used to organize and access the data. For example, a user may enter a route into a browser and receive media/data, possibly from a plurality of media repositories, that is associated with that route. In another example, the user may enter a route into the browser and be redirected from the hosting provider to a website of the media repository.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/077,117 entitled “HOSTING PROVIDER HOSTING ROUTES FROM A MEDIAREPOSITORY” and filed on Mar. 22, 2016.

FIELD OF THE INVENTION

A method is presented that allows a user to securely and easily accessrelated data (perhaps commonly tagged) across a plurality of differentmedia repositories in partnership with a hosting provider. A root and aplurality of related routes may be hosted by the hosting provider andthe routes may either redirect the user to a website of a mediarepository and/or allow access to data collected by a media repository.

SUMMARY OF THE INVENTION

A hosting provider may authenticate, and be authenticated by, one ormore media repositories. Once both are authenticated by the other, themedia repositories may share data with the hosting provider at therequest of a user. The hosting provider may then aggregate the data fromone or more media repositories in response to a request from the user.

A media repository may comprise a website and collect data from one ormore users. As non-limiting examples, the data may be one or more texts,pictures, data files, audio files, video files, uniform resourcelocators (URLs), routes and/or any combination thereof. As specificnon-limiting examples, the media repository may be Dropbox™, Facebook™,Microsoft OneDrive®, Google Drive, Instagram™ or Apple Photostream.

The hosting provider may receive and authenticate a hosting providerlogin credentials from a user on a client device. The process is onlycontinued if the hosting provider authenticates the hosting providerlogin credentials of the user. This confirms that the user is thecustomer of the hosting provider as claimed by the user. The hostingprovider may redirect the client device of the user to a website of amedia repository. The media repository may receive the redirected useron the client device from the hosting provider. The media repository mayauthenticate a media repository login credentials of the user on theclient device. If authenticated, this confirms that the user is thecustomer of the media repository as claimed by the user.

The process is only continued if the media repository authenticates themedia repository login credentials of the user. The media repository maygenerate a media repository token. The media repository may associatethe media repository token with a media repository account of the user.The media repository may then transmit the media repository token to thehosting provider.

The hosting provider may receive the media repository token generated bythe media repository and the hosting provider may generate a hostingprovider token. The hosting provider may associate the hosting providertoken with a hosting provider account of the user. The hosting providermay then transmit the hosting provider token to the media repository. Atthis point, the hosting provider and/or the media repository maytransfer the other party's token along with data to the other party. Theother party may confirm that the token received is the same token thatthe party generated. If the received token matches the stored generatedtoken, the party knows the data transfer request or instruction shouldbe accepted and is authorized by the user.

The hosting provider may receive from the media repository the hostingprovider token and a first instruction to manage the hosting provideraccount of the user. The first instruction is only processed if thehosting provider received the hosting provider token. The hostingprovider may then manage the hosting provider account of the useraccording to the first instruction if the hosting provider token isverified as being correct, i.e., the received token matches the storedgenerated token.

The hosting provider may transmit to the media repository the mediarepository token and a second instruction to manage the media repositoryaccount of the user. The second instruction is only processed if themedia repository received the media repository token. The mediarepository may then manage the media repository account of the useraccording to the second instruction if the media repository token isverified as being correct.

In an example embodiment of a media repository transmitting dataoriginating from a user to a hosting provider, the hosting provider mayregister a domain name to a user. The hosting provider may host a rootfor the user. The root may comprise a third level domain combined withthe domain name registered to the user.

The hosting provider may store the root in a nameserver that is part ofa domain name system.

The hosting provider may receive a plurality of routes from the mediarepository. Each route in the plurality of routes may comprise the root(which itself comprises a third level domain and the domain nameregistered to the user). The hosting provider may store the plurality ofroutes with the hosted root using a route managed hosting.

In an example embodiment, the user may be redirected from the hostingprovider to a website of the media repository. The hosting provider mayreceive a route in the plurality of routes that is a first uniformresource locator from a browser running on a client device. The firstuniform resource locator may be associated with a second uniformresource locator. The hosting provider may redirect the browser on theclient device to the second uniform resource locator.

In another example embodiment, the hosting provider may transmitaggregated data to the user. The hosting provider may receive a firstroute from a first media repository. The first route may comprise theroot and the first route may point to a first data. The hosting providermay store the first route from the first media repository with thehosted root in the managed route hosting.

The hosting provider may receive a second route from a second mediarepository. The second route may also comprise the root and the secondroute may point to a second data. The first route and the second routemay comprise (in addition to the third level domain and the domain nameregistered to the user) the same tag. The tag may be a word or phraseplaced in the file name position of the route or URL to help organizeand/or categorize the media. In the routepictures.johndoe.com/graduation, the graduation may be a tag to helpaggregate pictures that are related to the tag graduation. The hostingprovider may store the second route from the second media repositorywith the hosted root.

The hosting provider may receive the tag (possibly as part of a URL)from a browser running on a client device. The hosting provider maytransmit the first data and the second data to the browser running onthe client device. In this embodiment, a user may be shown media (suchas pictures and/or video) on a single webpage from two or more mediarepositories that have been similarly tagged. This would allow, as anexample, the user to receive pictures from two or more mediarepositories related to the same event, such as a graduation.

The above features and advantages of the present invention will bebetter understood from the following detailed description taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system allowing a bi-directionallyauthentication of a media repository and a hosting provider, mediarepositories transmitting data to a hosting provider, a hosting providerredirecting a user to a website of a media repository and a hostingprovider aggregating data from media repositories.

FIGS. 2-5 are flowcharts illustrating a method for bi-directionallyauthenticating a media repository and a hosting provider.

FIG. 6 is a flowchart illustrating a method for a media repository totransmit one or more routes to a hosting provider.

FIGS. 7-8 are flowcharts illustrating a method for a media repository totransmit one or more routes to a hosting provider, wherein the routesmay be computer addresses (such as IP addresses and/or URL redirects) toredirect a user to a website of the media repository.

FIGS. 9-10 are flowcharts illustrating a method for a hosting providerto aggregate data, which may be similarly tagged, from one or more mediarepositories to thereby allow a user to access related data from asingle point (the hosting provider) that originated in the one or moremedia repositories.

FIG. 11 is an example screen shot illustrating aggregated data thatoriginated from four different media repositories that may be displayedto a user.

DETAILED DESCRIPTION

The present inventions will now be discussed in detail with regard tothe attached drawing figures that were briefly described above. In thefollowing description, numerous specific details are set forthillustrating the Applicant's best mode for practicing the invention andenabling one of ordinary skill in the art to make and use the invention.It will be obvious, however, to one skilled in the art that the presentinvention may be practiced without many of these specific details. Inother instances, well-known machines, structures, and method steps havenot been described in particular detail in order to avoid unnecessarilyobscuring the present invention. Unless otherwise indicated, like partsand method steps are referred to with like reference numerals.

FIG. 1 is a block diagram of a system that may be used tobi-directionally authenticate a media repository 101-103 and a hostingprovider 130. Once authenticated, the media repository 101-103 and thehosting provider 130 may share data and/or send instructions to oneanother. As a specific example, once authenticated, a plurality of mediarepositories 101-103, such as, as non-limiting examples, Dropbox,Facebook, Microsoft OneDrive, Google Drive, Instagram or ApplePhotostream may transmit media (such as text, pictures, video, files,etc.) to the hosting provider 130, thereby allowing the hosting provider130 to aggregate the media so that the hosting provider 130 may displaythe media to the user 110 on a single webpage from a plurality of mediarepositories 101-103.

The illustrated system may also allow the media repository 101-103 totransmit data to a database 170 operated by the hosting provider 130.The system may also allow the hosting provider 130 to redirect a user110 to a website of the media repository 101-103. The system may alsoallow the hosting provider 130 to aggregate data from a plurality ofmedia repositories 101-103 before presenting the data to the user 110 orother users permitted by the user 110.

The arrows between the client device 120, media repositories 101-103,hosting provider 130, interface 140, nameservers 150, route managedhosting 160 and database 170 represent one or more computer networks.Communications and transmissions may use any currently known ordeveloped in the future methods or protocols.

A computer network is a collection of links and nodes (e.g., multiplecomputers and/or other devices connected together) arranged so thatinformation may be passed from one part of the computer network toanother over multiple links and through various nodes. Non-limitingexamples of computer networks include the Internet, a public switchedtelephone network, a global Telex network, an intranet, an extranet, alocal-area network, a wide-area network, wired networks, wirelessnetworks and/or cell phone networks.

The Internet is a worldwide network of hardware servers and computernetworks arranged to allow for the easy and robust exchange ofinformation between, for example, a user 110 on a client device 120 andone or more websites hosted on one or more hardware servers.

A hardware server is hereby defined to be a physical machine. While ahardware server provides the hardware to run software, the hardwareserver is hereby defined to be not merely or only software. Hardwareservers may be, as a non-limiting example, one or more Dell PowerEdge(s)rack server(s), HP Blade Servers, IBM Rack or Tower servers, althoughother types of hardware servers and/or combinations of other hardwareservers may also be used.

Hundreds of millions of people (users) around the world have access toclient devices 120 connected to the Internet. A user 110 may use aclient device 120, such as, as non-limiting examples, a cell phone, PDA,tablet, laptop computer or desktop computer to access a website or ahardware server via the Internet. Users are able to access data atspecific locations on the Internet referred to as websites.

Websites may consist of a single webpage, but typically consist ofmultiple interconnected and related webpages. Websites, unless verylarge and complex or have unusual traffic demands, often reside on asingle hardware server and are prepared and maintained by a singleindividual or entity (although websites residing on multiple hardwareservers are also becoming increasingly common). Hosting providers mayprovide the hardware and infrastructure necessary to host a plurality ofwebsites for a plurality of website operators.

Menus, links, tabs, etc. may be used to move between different web pageswithin a website or to move to a different webpage on a differentwebsite. Websites may also use URL redirects to move a user 110 from onewebpage on one website to another webpage, possibly on a differentwebsite. The combination of all the websites and their corresponding webpages on the Internet is generally known as the World Wide Web (WWW) orsimply the Web.

Websites may be created using HyperText Markup Language (HTML) togenerate a standard set of tags that define how the webpages for thewebsite are to be displayed. Users 110 may access websites usingsoftware known as an Internet browser, such as MICROSOFT INTERNETEXPLORER™, GOOGLE CHROME or MOZILLA FIREFOX™. After the browser haslocated the desired webpage, the browser requests and receivesinformation from the webpage, typically in the form of an HTML document,and then displays the webpage content for the user 110 on the user'sclient device 120. The user 110 then may view other webpages at the samewebsite or move to an entirely different website using the browser.

Browsers are able to locate specific websites because each website has aunique Internet Protocol (IP) address. Presently, there are twostandards for IP addresses. The older IP address standard, often calledIP Version 4 (IPv4), is a 32-bit binary number, which is typically shownin dotted decimal notation, where four 8-bit bytes are separated by adot from each other (e.g., 64.202.167.32). The notation is used toimprove human readability. The newer IP address standard, often calledIP Version 6 (IPv6) or Next Generation Internet Protocol (IPng), is a128-bit binary number. The standard human readable notation for IPv6addresses presents the address as eight 16-bit hexadecimal words, eachseparated by a colon (e.g., 2EDC:BA98:0332:0000:CF8A:000C:2154:7313).

However, IP addresses, even in human readable notation, are difficultfor users to remember and use. A Uniform Resource Locator (URL) iseasier to remember and may be an address to a resource (such as a filecomprising data) on the Internet. A browser may be able to access thefile (and its data) on the Internet through the use of a URL. A URL mayinclude a protocol identifier (such as a Hypertext Transfer Protocolrequest), a domain name and a path to a file or resource. As anon-limiting example of a URL with an HTTP request, domain name and filename is: http://www.content.johndoe.com/birthdayparty. In this example,“http” identifies the URL as a HTTP request, “content” is the thirdlevel domain, “johndoe.com” is the domain name and “birthdayparty” isthe file name or the tag.

A URL may also be a URL redirect which, when received by a browser,redirects the browser to a different URL which may be translated into anaddress to another resource (such as a website, file or data). A URL mayalso be parsed into a route that may be used to find a resource.

Domain names are also much easier to remember and use than theircorresponding IP addresses. The Internet Corporation for Assigned Namesand Numbers (ICANN) and the Internet Assigned Numbers Authority (IANA)create rules and coordinate the use of over 1,000 Top-Level Domains(TLDs). Each TLD is typically assigned a single registry to be anauthoritative source of information (the particular data stored by theregistry varies depending on the TLD). One or more domain nameregistrars may register domain names to users 110 (domain nameregistrants) on behalf of a registry.

The process for registering a domain name with .com, .net, .org, andsome other TLDs allows a user 110 to use an ICANN-accredited domain nameregistrar to register a domain name. For example, if a user 110, JohnDoe, wishes to register the domain name “johndoe.com,” John Doe mayinitially determine whether the desired domain name is available bycontacting a domain name registrar. The potential domain name registrantmay make this contact using the registrar's webpage and typing thedesired domain name into a field on the registrar's webpage created forthis purpose.

Upon receiving a domain name or a domain name search request from theuser 110, the registrar may ascertain whether “johndoe.com” has alreadybeen registered by, as non-limiting examples, checking the SRS databaseassociated with the TLD of the domain name or by checking with theregistry responsible for the TLD. The results of the search may bedisplayed on the webpage to notify the user 110 of the availability ofthe desired domain name. If the desired domain name is available, theuser 110 may proceed with the domain name registration process. If thedesired domain name is not available for registration, the registrar maytransmit one or more suggested domain names to the user 110 to permitthe user 110 to select and register one or more of the suggested domainnames.

Once a domain name is registered to a user 110, the user 110 may desireto have the domain name point to a resource on the Internet. The DomainName System (DNS) is a hierarchical distributed naming system forcomputers, services or any other resource connected to the Internet or aprivate network. The DNS is an Internet service that translates domainnames into IP addresses. As an example, the DNS may translate the domainname johndoe.com into the IP address of 111.222.1212.123.

The DNS comprises a plurality of nameservers 150. Each nameserver 150 ishereby defined to comprise a hardware server that is connected to theInternet and translates domain names into IP address in response toqueries from browsers. Domain name registrars (registrars) and websitehosting providers may maintain and control one or more nameservers 150.The registrars and hosting providers allow their customers (users 110)to store their domain names and associated IP addresses in one or morenameservers 150. In this manner, a domain name (such as johndoe.com)registered to a user 110 may be translated by a nameserver 150 (that ispart of the DNS) into an IP address. The IP address may point to aresource, such as a website owned and operated by the registrant (user110) of the domain name. The browser may receive from the nameserver 150the IP address and then use the IP address to locate the resourceassociated with the IP address.

Users 110 may also visit and create an account 105-107 with each of oneor more media repositories 101-103. Users 110 may be able to store media(such as text, pictures, videos, files, etc.) at one or more mediarepositories 101-103. For purposes of this specification, a mediarepository 101-103 comprises at least one hardware server and is herebydefined to be a machine. Login credentials may be required to accesseach of the user's account 105-107 with each of the one or more mediarepositories 101-103. Login credentials may be, as non-limitingexamples, a username, a password, biometric authentication, three-wayauthentication or any other method of authenticating the user 110.

Each media repository 101-103 may also comprise a website (operated onthe at least one hardware server) and collect data or media from theuser 110. As non-limiting examples, the data/media may be text,picture(s), file(s), audio, video, uniform resource locator(s) (URLs),route(s) and/or any other form of data. As non-limiting examples, amedia repository 101-103 may be Dropbox, Facebook, Microsoft OneDrive,Google Drive, Instagram or Apple Photostream.

A hosting provider 130 may provide the ability for a user 110 to accessdata stored by one or more media repositories 101-103. For purposes ofthis specification, the hosting provider 130 comprises at least onehardware server and is hereby defined to be a machine. The hostingprovider 130 preferably comprises an interface 140, one or morenameservers 150 (that are part of the DNS), route managed hosting 160and a database 170.

The interface 140 may receive by any desired means, such as, as anon-limiting example, an Application Program Interface (API), routes anddata from one or more media repositories 101-103 for one or more users.The interface 140 comprises one or more hardware servers and is herebydefined to be a machine. The interface 140 may store the collectedroutes and data in the database 170.

A route preferably comprises a URL and optionally, one or more filenames or tags. As an example, the interface 140 may receive the routecontent.johndoe.com/birthdayparty and store one or more pictures theuser 110 associated with the route content.johndoe.com/birthdayparty inthe database 170.

A user 110 may obtain an account 165 from the hosting provider 130 orthe route managed hosting 160. Login credentials may be required toaccess the account 165 of the user 110 with the hosting provider 130.The route managed hosting 160 may host and store a root, comprising adomain name and possibly a third or higher domain, and one or moreroutes comprising the root and possibly a tag. The route managed hosting160 comprises at least one hardware server and is hereby defined to be amachine.

Bi-Directional Authentication

A hosting provider 130 may authenticate, and be authenticated by, one ormore media repositories 101-103. Once the hosting provider 130 isbi-directionally authenticated with one or more media repositories101-103, the media repositories 101-103 may share data with the hostingprovider 130 at the request of a user 110. The hosting provider 130 maythen aggregate the data from one or more media repositories 101-103 inresponse to a request from the user 110. This allows the hostingprovider 130 to display on a single webpage media and/or data from aplurality of the media repositories 101-103.

An example method of bi-directionally authenticating the user 110 withat least one media repository 101-103 and a hosting provider 130 willnow be described. With reference to FIGS. 2-5, the hosting provider 130may receive and authenticate on a hosting provider website hostingprovider login credentials from a user 110 on a client device 120. (Step200) As an example, the login credentials may be a user name, such asJohn Doe, and a password, although any type of login credentials may beused. After successfully logging in to the hosting provider website(Step 210), the hosting provider website may provide an option for theuser 110 to select bi-direction authentication with one or more mediarepositories 101-103. The user 110 may select bi-directionalauthentication and select at least one media repository 101-103.

The hosting provider 130 may redirect or link the client device 120 to awebsite of a media repository 101-103. (Step 220) The website of themedia repository 101-103 may receive the redirected user 110 on theclient device 120 from the hosting provider 130. (Step 230) The mediarepository 101-103 may authenticate media repository 101-103 logincredentials of the user 110. (Step 240) It should be noted that if theuser 110 was not able to provide authenticated login credentials to thehosting provider 130 and/or was not able to provide authenticated logincredentials to the media repository 101-103, bi-directionalauthentication will not be possible. Only if the user 110 was able toprovide authenticated login credentials to the hosting provider 130 andwas able to provide authenticated login credentials to the mediarepository 101-103, is bi-directional authentication possible. (Step300)

The media repository 101-103 may generate a media repository token.(Step 310) The media repository token is preferably a string of numbersand/or characters. The media repository token is preferably unique inthe sense that no other users of the media repository 101-103 areprovided the same media repository token. The media repository 101-103may associate the media repository token with a media repository account105-107 of the user 110. (Step 320) The media repository 101-103 maytransmit the media repository token to the hosting provider 130. (Step330) The hosting provider 130 may receive the media repository tokengenerated by the media repository 101-103. (Step 340) The hostingprovider 130 may then use the media repository token when sending dataand/or instructions to the media repository 101-103 so that the mediarepository 101-103 is aware that the data and/or instructions isauthorized by the user 110.

The hosting provider 130 may generate a hosting provider token. (Step400) The hosting provider token is also preferably a string of numbersand/or characters. The hosting provider token is preferably unique inthe sense that no other users of the hosting provider 130 are providedthe same hosting provider token. The hosting provider 130 may associatethe hosting provider token with a hosting provider account 165 of theuser 110. (Step 410) The hosting provider 130 may transmit the hostingprovider token to the media repository 101-103. (Step 420)

The hosting provider 130 may receive from the media repository 101-103the hosting provider token and a first instruction to manage the hostingprovider account 165 of the user 110. (Step 430) It should beappreciated that any data and/or instructions received without thehosting provider token is preferably ignored and not acted upon. Only ifthe hosting provider token associated with the user hosting provideraccount 165 is received are the data and/or instructions acted upon bythe hosting provider 130. (Step 440) Upon receiving the hosting providertoken, the hosting provider 130 may manage the hosting provider account165 of the user 110 according to the first instruction. (Step 500)

The hosting provider 130 may transmit to the media repository 101-103the media repository token and a second instruction to manage the mediarepository account 105-107 of the user 110. (Step 510) It should beappreciated that any data and/or instructions received without the mediarepository token is preferably ignored and not acted upon. Only if themedia repository token associated with the user account 105-107 isreceived are the data and/or instructions acted upon by the mediarepository 101-103. (Step 520) Upon receiving the media repositorytoken, the media repository 101-103 may manage the media repositoryaccount 105-107 of the user 110 according to the second instruction.(Step 530)

Media repository Transmitting Data to a Hosting Provider

In another embodiment, a hosting provider 130 may register a domain nameto a user 110. (Step 600) As a non-limiting example, the hostingprovider 130 may register the domain name johndoe.com to the user 110 sothat the user 110 is the registrant of the domain name johndoe.com.

The hosting provider 130 may host a root for the user 110, wherein theroot comprises a third level domain combined with the domain nameregistered to the user 110. (Step 610) As a non-limiting example,content.johndoe.com may be a root for the domain name johndoe.com. Thus,the hosting provider 130 may host the root content.johndoe.com on ahosting server.

In some embodiments, the root may also comprise a fourth domain and/orone or more higher domains. As a non-limiting example, the root may bepictures.content.johndoe.com, which has pictures as a fourth leveldomain.

In some embodiments, the root may also comprise one or more file names.As a non-limiting example, the root may becontent.johndoe.com/birthdayparty, which has birthdayparty as a filename. In some embodiments, the root may have a fourth domain and or oneor more higher domains and one or more file names. As a non-limitingexample, the root may be pictures.content.johndoe.com/birthdayparty.

The hosting provider 130 may store the root in a nameserver 150 that ispart of a domain name system (DNS). (Step 620) The hosting provider 130may assign an IP address to the root and store the root and itsassociated IP address in one or more nameservers 150. Storing the rootand its associated IP address in one or more nameservers 150 allows auser 110 to enter a URL that comprises the root in a browser on a clientdevice 120 and thereby have the browser access the root hosted by thehosting provider 130.

The hosting provider 130 may receive from time to time one or moreroutes from one or more media repositories 101-103. The mediarepositories 101-103 may transmit one or more routes and/or one or moremedia, as non-limiting examples, after a set period of time, such asonce every 24 hours, after new media has been added by the user 110 tothe media repository 101-103 and/or after requested by the hostingprovider 130 (possibly triggered by a request from the user 110).

Each route in the one or more routes preferably comprises a root. (Step630) As a non-limiting example, the hosting provider 130 may receivefrom a media repository 101-103 the routescontents.johndoe.com/pictures/2016/newyears andcontents.johndoe.com/pictures/2016/valentines and from a second mediarepository 101-103 the routes ofcontents.johndoe.com/pictures/2016/newyears andcontents.johndoe.com/pictures/2016/halloween. The hosting provider 130also preferably receives data, such as text, pictures, files, audio,video, URL redirects, routes, and/or any other form of data associatedwith each route.

In another embodiment, the hosting provider 130 may store the one ormore routes from the one or more media repositories 101-103 with thehosted root as part of a route managed hosting 160. The route managedhosting 160 may host one or more roots and associated routes for one ormore users. (Step 640) The data associated with each route may be storedin a database 170 or with a media repository 101-103.

In another embodiment, the hosting provider 130 may assign one or moreroutes an IP address and then store each route and its associated IPaddress in a nameserver 150 that is part of the domain name system(DNS). The route may comprise a third level domain, possibly incombination with higher level domains, and/or a file name or fileextension.

The hosting provider 130 may receive the data from the mediarepositories 101-103 by any desired communication method or methods. Asa non-limiting example, the hosting provider 130 via an interface 140may request and thereafter receive data associated with one or moreroutes from one or more media repositories 101-103. As anothernon-limiting example, one or more media repositories 101-103 maytransmit data, without being requested, to the hosting provider 130 viathe interface 140. As another non-limiting example, one or more mediarepositories 101-103 may use an API interface to communicate the data tothe interface 140 of the hosting provider 130. The received data maythen be stored in a database 170.

A Hosting Provider Redirecting a User to a Media Repository

In another embodiment, the hosting provider 130 may receive a route thatis a first uniform resource locator from a browser running on a clientdevice 120. The first uniform resource locator may be associated with asecond uniform resource locator. (Step 800) The hosting provider 130 mayredirect the browser on the client device 120 to the second uniformresource locator. (Step 810) The second uniform resource locator maypoint to, as a non-limiting example, a website of the media repository101-103 that transmitted the route to the hosting provider 130. In thismanner the user 110 running the browser on the client device 120 may beredirected from the route managed hosting 160 of the hosting provider130 to the website of the media repository 101-103 that provided theroute.

As a non-limiting example, the user 110 may enter the first routecontent.johndoe.com/birthdayparty into a browser. The hosting provider130 may receive the first route content.johndoe.com/birthdayparty andsee that the first route is associated with a second routebirthdayparty.johndoe.com.serviceprovider.com. The hosting provider 130may redirect the browser to the second route which may be, as anon-limiting example, a website of a media repository 101-103.

A Hosting Provider Aggregating Data from Media Repositories

In another embodiment, a hosting provider 130 may receive a first routefrom a first media repository 101-103. The media repository 101-103 maytransmit one or more routes, as non-limiting examples, after a setperiod of time (push technology), after new media has been added by theuser 110 to the media repository 101-103 (push technology) and/or afterrequested by the hosting provider 130, possibly triggered by a requestfrom the user 110, (pull technology).

The first route may comprise a root and the first route may point to afirst data. (Step 900) The hosting provider 130 may store the firstroute from the first media repository 101-103 with the hosted root on aroute managed hosting 160. (Step 640) As a non-limiting example, thefirst route may be firstservicename.content.johndoe.com/anniversary theroute may point to the first data which may be one or more pictures theuser 110 desires to associate with the first route.

The hosting provider 130 may receive a second route from a second mediarepository 101-103. The second route may comprise the root and thesecond route may point to a second data. (Step 1000) The hostingprovider 130 may store the second route from the second media repository101-103 with the hosted root on the route managed hosting 160. In thisembodiment, the first route may comprise a tag and the second route maycomprise the tag, i.e., the first route and the second route may havethe same tag. (Step 1010) As a non-limiting example, the second routemay be secondservicename.content.johndoe.com/anniversary. In thisexample, the first route and the second route have the same tag ofanniversary. In this manner data that is related (such as pictures andvideo) to the same event (here identified as anniversary) may be taggedwith the same tag of anniversary. In some embodiments, the tag may havea plurality of levels that may act as a directory, to organize data intoa structure, such as a directory or tree structure. As a non-limitingexample, a tag may be 2016/anniversary/restaurant/pictures and used withother tags to organize the media and/or data.

The hosting provider 130 may receive the tag from a browser running on aclient device 120. (Step 1020) The hosting provider 130 may transmit thefirst data and the second data to the browser running on the clientdevice 120. (Step 1030) As a non-limiting example, a request from abrowser with a tag of 2016/anniversary may be responded to with datafrom all routes that have 2016/anniversary as part of their route or aspart of their tag.

FIG. 11 illustrates an example screen shot 1100 that may be displayed ona client device 120 operated by the user 110. To create this screen shot1100, the user 110 may have used one or more media repositories 101-103to link data (primarily pictures in this example) to a route. Asspecific examples, the user may have linked Pictures 1-6 stored at mediarepository tumbler™ 1120 with the route smith.com/pictures 1110,ParentLink 1-2 and ChildLink 1-4 stored on media repository Googledrive™ 1130 with the rout smith.com/pictures 1110, Picture 2-10 on mediarepository Facebook™ 1140 with the route smith.com/pictures 1110 andPicture 11, Text 11-12 and Video 12 stored on media repositoryInstagram™ 1150 with the route smith.com/pictures 1110. In this exampleembodiment, the user 110 may have requested all data associated with theroute smith.com/pictures 1110. The system may then collect data fromrequested media repositories 101-103 or from all media repositories tiedto the user 110 or known to be used by the user 110. The data may bedisplayed in any format and is preferably limited to the data associatedwith the requested route, which in this example is smith.com/pictures1110. The hosting provider 130 may either access this data in database170, if the database 170 has been updated by media repositories 101-103,or the hosting provider 130 may in real-time or near real-time requestall data associated with the route smith.com/pictures 1110 from thedesired media repositories 101-103. While three media repositories101-103 are illustrated in FIG. 1 and four media repositories 1120,1130, 1140, 1150 are illustrated in FIG. 11, any number of mediarepositories may be used to aggregate all related data the user 110 mayhave stored at the various media repositories. FIG. 11 also illustratesthat a media repository, in this example, Google Drive 1130, may providelinks or URLs that may be selected to retrieve the desired data that maythen be displayed on the client device 120 of the user 110.

Other embodiments and uses of the above inventions will be apparent tothose having ordinary skill in the art upon consideration of thespecification and practice of the invention disclosed herein. It shouldbe understood that features listed and described in one embodiment maybe used in other embodiments unless specifically stated otherwise. Thespecification and examples given should be considered exemplary only,and it is contemplated that the appended claims will cover any othersuch embodiments or modifications as fall within the true scope of theinvention.

The invention claimed is:
 1. A method, comprising: receiving by ahosting provider a plurality of routes from a media repositorycomprising a hardware server, wherein each route in the plurality ofroutes comprises a root, wherein the root is stored in a name server andincludes a third level domain combined with a domain name registered toa user; and storing by the hosting provider on a hardware server theplurality of routes from the media repository with the root.
 2. Themethod of claim 1, wherein at least one route in the plurality of routesis a uniform resource locator redirect.
 3. The method of claim 1,wherein at least one route in the plurality of routes points to data ina database.
 4. The method of claim 1, wherein at least one route in theplurality of routes comprises a redirect to a website of the mediarepository.
 5. The method of claim 1, further comprising the steps of:receiving by the hosting provider a second plurality of routes from asecond media repository, wherein each route in the second plurality ofroutes comprises the root; and storing by the hosting provider on thehardware server the second plurality of routes from the second mediarepository with the root, wherein the media repository is a differentservice from the second media repository.
 6. The method of claim 1,wherein at least one route in the plurality of routes comprises the rootand a user applied tag, wherein the user applied tag was applied by theuser while logged into the media repository.
 7. The method of claim 1,wherein at least one route in the plurality of routes comprises the rootand a user applied filter, wherein the user applied filter was appliedby the user while logged into the media repository.
 8. A method,comprising: receiving by a hosting provider a route selected from aplurality of routes, wherein the route is a first uniform resourcelocator, from a browser running on a client device, wherein the firstuniform resource locator is associated with a second uniform resourcelocator, the plurality of routes are received from a media repositoryand each route in the plurality of routes includes a root, the rootincludes a third level domain combined with a domain name registered toa user, and the root is stored in a nameserver that is part of a domainname system; and redirecting by the hosting provider the browser on theclient device to the second uniform resource locator.
 9. The method ofclaim 8, wherein at least one route in the plurality of routes points todata in a database.
 10. The method of claim 8, further comprising thestep of: storing by the hosting provider the second uniform resourcelocator and a corresponding IP address that points to a website of themedia repository in the domain name system.
 11. The method of claim 8,wherein at least one route in the plurality of routes comprises the rootand a user applied tag, wherein the user applied tag was applied by theuser while logged into the media repository.
 12. The method of claim 8,wherein at least one route in the plurality of routes comprises the rootand a user applied filter, wherein the user applied filter was appliedby the user while logged into the media repository.
 13. The method ofclaim 8, further comprising the steps of: receiving by the hostingprovider a second plurality of routes from a second media repository,wherein each route in the second plurality of routes comprises the root;and storing by the hosting provider on a hardware server the secondplurality of routes from the second media repository with the root,wherein the media repository is a different media repository than thesecond media repository.
 14. A method of transmitting aggregated data,comprising the steps of: receiving by a hosting provider a first routefrom a first media repository, wherein the first route comprises a rootand the first route points to a first data, wherein the root includes athird level domain combined with a domain name registered to a user;storing by the hosting provider on a hardware server the first routefrom the first media repository with the root; receiving by the hostingprovider a second route from a second media repository, wherein thesecond route comprises the root and the second route points to a seconddata and wherein the first route comprises a tag and the second routecomprises the tag; storing by the hosting provider on the hardwareserver the second route from the second media repository with the root;receiving by the hosting provider the tag from a browser running on aclient device; and transmitting by the hosting provider the first dataand the second data to the browser running on the client device.
 15. Themethod of claim 14, further comprising the step of: receiving by thehosting provider a third route from the first media repositorycomprising a redirect to a website of the first media repository. 16.The method of claim 14, wherein the tag was applied by the user whilelogged into the first media repository.
 17. The method of claim 14,further comprising the step of: receiving by the hosting provider athird route from the first media repository comprising a user appliedfilter and wherein the user applied filter was applied by the user whilelogged into the first media repository.
 18. The method of claim 14,further comprising the steps of: receiving by the hosting provider aplurality of routes from a plurality of media repositories, wherein eachroute in the plurality of routes comprises the tag and wherein theplurality of routes point to a corresponding plurality of data stored ina database; receiving by the hosting provider the tag from the browserrunning on the client device; and transmitting the plurality of datapointed to by the plurality of routes that comprise the tag to thebrowser running on the client device.